
DataTransferInstr = ['lea', 'mov', 'movq', 'movzx', 'movsd', 'movsxd', 'movapd',
                     'movdqa', 'movdqu', 'movsx', 'movaps', 'movups', 'move',
                     'movhps', 'li', 'la', 'sw', 'lbu', 'lui', 'sh', 'sb', 'lb',
                     'lbu', 'move', 'lw', 'lwx', 'mfhi', 'mflo', 'lhu', 'xchg','movhps',
                     'LDA', 'MOV',  'MVN', 'LDR', 'swl', 'swr', 'STR', 'ADR','ADRL', 'idc1', 'ldc1',
                     'sdc1', 'mtc1', 'mthc1', 'mfc1', 'mfhc1', 'lwc1', 'ext', 'lh',
                     'ins', 'lwl', 'lwr', 'swc1', 'mtlo', 'mthi', 'movss', 'fnstcw', 'fldcw',
                     'movd', 'movlhps','movhlps' , 'punpcklbw', 'punpckhbw', 'punpckhwd',
                     'punpcklwd', 'punpcklqdq', 'punpckldq', 'punpckhdq', 'movs', 'stos', 'scas',
                     'fldz', 'fld1', 'fxch', 'fst', 'movupd', 'movhpd', 'unpckhps', 'stosq', 'movsq', 'movmskpd',
                     'stosd', 'LDRB', 'MOVCS', 'MOVLS', 'MOVHI', 'MOVNE', 'MOVEQ', 'LDREQ','MOVS',
                     'STRB', 'STREQ', 'LDRNE', 'STRNE', 'MOVGT', 'STMEA', 'STRBEQ', 'STRBNE', 'LDRBEQ',
                     'LDRHNE', 'STRHNE', 'LDRBNE', 'LDRHEQ', 'STRHEQ', 'MOVGE', 'STRBGT', 'STRLE', 'STRGT',
                     'MOVLE', 'STMIB', 'MOVCC', 'LDRGT', 'LDRH', 'STMFA', 'MOVLT', 'LDRSB', 'STRLT', 'STRLS',
                     'STRHI', 'STRBHI', 'STRBLS', 'LDRBGT', 'STRGE', 'LDRMI', 'STRCC', 'LDMFD', 'STRH',
                     'LDMIB', 'STMIBNE', 'LDRBLS', 'MOVPL', 'STRBCC', 'STRBCS', 'LDRHI', 'LDRLT', 'LDMED',
                     'LDMNE', 'LDMIBGT', 'LDRGE', 'LDRSH', 'STRBLE', 'STRBGE', 'LDRLS', 'STMEANE', 'LDRLE',
                     'STMEQ', 'STMNE', 'STRHLE', 'MOVSEQ', 'MOVSNE', 'usw', 'mov.d', 'ulw', 'LDMHI',
                     'STRCS', 'STMEAEQ', 'movf.d', 'movt.d', 'movz.d', 'mov.s', 'movz.s', 'LDMDB',
                     'STMDB', 'STMDBNE', 'STMHI', 'LDMEQ', 'LDRCC', 'LDRCS', 'LDMFDEQ', 'LDMFDNE',
                     'LDRSHNE', 'STRPL', 'STRMI', 'STMGE', 'STRHCC', 'STRHHI', 'STRHLT', 'STRHGT',
                     'LDMIBNE', 'LDRBLT', 'STRBLT', 'LDRBGE', 'LDMCC', 'STMFANE', 'LDRHHI', 'MOVMI',
                     'MVNLS', 'LDRSHGT', 'LDRBHI', 'ldmxcsr', 'movsb', 'STMEAGT', 'STMEALE', 'LDRHGE',
                     'STRHGE', 'movn.d', 'movlpd']

ArithmeticInstr = ['add', 'sub', 'imul', 'mulsd', 'addsd', 'adc', 'subsd', 'mul', 'neg',
                   'subu', 'div', 'mflo', 'divu', 'mult', 'multu', 'mull', 'mullu',
                   'mulli', 'addu', 'addiu', 'divu', 'negu', 'paddd', 'sbb', 'ADD',
                   'SUB', 'RSB', 'MUL', 'UMULL', 'ADC', 'TEQ', 'SBC', 'UMLAL', 'SMULL', 'RSC',
                   'dec', 'inc', 'mla', 'divsd', 'MLA', 'SMLAL', 'madd.d', 'msub.d', 'madd',
                   'maddu', 'fsubp', 'fmulp', 'faddp', 'fdivp', 'mulss', 'subss', 'ucomiss',
                   'addss', 'divss', 'fdivrp', 'fmul', 'psubd', 'psrlw', 'paddq', 'psubb',
                   'paddb', 'psubusb', 'pmuludq', 'psubq', 'mulpd', 'addpd', 'idiv', 'fsqrt',
                   'fld', 'fistp', 'fild', 'fstp', 'fchs', 'fadd', 'sqrt', 'sqrtsd' ,'divpd',
                   'subpd', 'divps', 'SUBCS', 'SUBS', 'ADDNE', 'ADDLS', 'SUBNE', 'ANDS', 'ADDEQ',
                   'ADDGT', 'SUBEQ', 'RSBLT', 'ADDS', 'SUBGT', 'ADDGE', 'ADDLT', 'SUBHI', 'SUBLS',
                   'ADDLE', 'SUBLT', 'SUBCC', 'CMNNE', 'SBCS', 'RSBNE', 'RSBGT', 'RSBLE', 'RSBS',
                   'RSBPL', 'ADDCS', 'SUBGE', 'SUBLE', 'RSBEQ', 'SUBMI', 'ADDMI', 'ADDHI','RSBMI',
                   'ADCS', 'RSCS', 'ADDCC', 'RSBSGT', 'SUBSEQ', 'SUBSCS', 'RSBSCS', 'add.d', 'sub.d',
                   'mul.d', 'div.d', 'MULGE', 'SUBSPL', 'sqrt.d', 'mul.s', 'msub.s', 'madd.s', 'add.s',
                   'div.s', 'sub.s', 'msub', 'MULHI', 'MULEQ', 'MULS', 'MULNE', 'fsubr', 'fdiv',
                   'fsub', 'fcmovnbe', 'fcmovbe', 'fsubrp', 'cmpltpd', 'minpd', 'psubusw', 'paddw',
                   'pextrw', 'pmaxsw', 'pminsw', 'pmaxub', 'pminub', 'unpckhpd', 'addps', 'subps',
                   'mulps', 'psubw', 'pmullw']

LogicalInstr = ['and', 'or', 'xor', 'orr', 'bic', 'eor', 'xori', 'nor', 'andi', 'ori', 'xori',
                'pandn', 'pxor', 'AND', 'ORR', 'xorpd', 'pand', 'por', 'EOR', 'xorps', 'andpd',
                'andnpd', 'orpd', 'ORREQ', 'ORRLS', 'ORRHI', 'ANDHI', 'ANDLS', 'ORRS', 'ORRNE',
                'ANDNE', 'ANDLE', 'ANDCS', 'ORRCS', 'ORRGT', 'ANDEQ', 'ANDLT', 'ANDGT', 'BICS',
                'BICNE', 'BICEQ', 'MVNHI', 'MVNCS', 'ORRCC', 'ANDGE', 'CLZEQ', 'ORRGE', 'ORRLT',
                'ORRLE', 'EORNE', 'CLZHI', 'EOREQ', 'TEQEQ', 'ORRSNE', 'MVNSNE', 'MVNS', 'MVNSEQ',
                'ORRSEQ','ANDSNE', 'TEQNE', 'MVNCC', 'EORGT', 'CLZLE', 'BICSNE', 'ORRMI', 'MLANE']

ControlFlowInstr = ['jmp', 'call', 'jz', 'jnz', 'je', 'jnz', 'jg', 'jge', 'jle', 'jge', 'jl',
                    'jns', 'jp', 'jb', 'ja', 'jbe', 'jnb', 'jz', 'jnz', 'jg', 'jle', 'jge',
                    'jle', 'jg', 'jr', 'b', 'bl', 'bx', 'blx', 'beqz', 'bnez', 'bgez', 'bltz',
                    'break', 'bne', 'beq', 'bgtz', 'bal', 'nop','blez', 'jalr', 'jo', 'js', 'BX',
                    'B', 'BL', 'BLX', 'jrcxz','loop', 'bc1t', 'bc1f', 'jno', 'NOP','ret','RET',
                    'retn', 'mfence', 'ud2', 'jnp', 'BNE', 'BHI', 'BEQ', 'BCS', 'BCC', 'BXEQ',
                    'BXNE', 'BLE', 'BLS', 'BGT', 'BGE', 'BLT', 'BPL', 'BMI', 'BXHI', 'BXLE', 'BXLS'
                    'BXLT', 'BXGT', 'BLEQ', 'BXCC', 'BXCS', 'BXLS', 'BXLT']

BitInstr = ['sar', 'shr', 'shl', 'srl', 'sra', 'sll', 'srlv', 'sllv', 'srlv', 'shrd', 'srav',
            'shld', 'bsf', 'bt', 'palignr', 'pshufd', 'pcmpeqd', 'pslld', 'psrldq', 'psrld',
            'popcnt', 'bsr', 'not', 'bswap', 'BIC', 'CLZ', 'rol', 'shufpd', 'rotr', 'ror',
            'packuswb', 'btc','pcmpgtd', 'psrlq', 'unpcklpd', 'psllq', 'rotrv', 'wsbh',
            'shufps', 'unpcklps', 'cld', 'CLZNE','psrad']

ConditionalTransferInstr = ['cmova', 'cmovnb', 'cmovle', 'cmovge', 'cmovg', 'cmovnz', 'cmovl',
                            'cmovz', 'cmovns', 'cmovs', 'cmovb', 'cmovbe', 'movn', 'movz', 'movf', 'movt']

ConditionalSettingInstr = ['setz', 'setle', 'setnbe', 'setnl', 'setnb', 'setbe', 'seto',
                          'setnp', 'setl', 'setnz', 'slt', 'slti', 'sltiu', 'setnle', 'setb',
                           'sltu', 'clz', 'setp']

StackInstr = ['push', 'pop', 'STM', 'LDM', 'leave','PUSH','POP','POPEQ', 'POPNE', 'POPHI',
              'POPLE', 'POPGT', 'POPLS', 'POPMI', 'POPCC', 'POPLT', 'POPGE']


DataConversionInstr = ['cvttsd2si', 'cvtsi2sd', 'cvttsd2si', 'seb', 'cvt.d', 'trunc.w', 'seh', 'cvt.s',
                       'cvtss2sd', 'cvtsi2ss', 'cvtsd2ss', 'cvtps2pd', 'cvtpd2ps','cqo','cdqe', 'cdq',
                       'cwde', 'cbw', 'cvttss2si', 'cvttpd2dq', 'cvtdq2ps', 'trunc.w.d', 'cvt.d.w',
                       'cvt.s.w', 'cvt.d.s', 'cvt.s.d','cvtdq2pd']

CompareInstr = ['CMP', 'CMN', 'test', 'TST', 'TEQ', 'ucomisd', 'cmp', 'pcmpeqd', 'pcmpeqb',
                'teq', 'c.le', 'c.lt', 'c.ule', 'fucomip', 'minss', 'maxss', 'cmpnlesd', 'minsd',
                'maxsd','cmpltsd', 'fucomi', 'pcmpgtb', 'pcmpgtw', 'pcmpeqw', 'c.eq', 'cmps',
                'cmpnltsd', 'cmplesd', 'cmpneqpd', 'stosq', 'scasb', 'CMPNE', 'CMPHI', 'CMPCS',
                'CMPEQ', 'CMPLS', 'CMPGT', 'CMPCC', 'CMPLE', 'CMPGE', 'CMPPL', 'CMNMI', 'c.eq.d',
                'c.un.d', 'c.ule.d', 'c.lt.d', 'c.le.d', 'CMNEQ', 'cmpsb', 'TSTEQ', 'c.lt.s',
                'c.un.s', 'c.eq.s', 'c.le.s', 'c.ueq.d', 'c.ult.d', 'CMNLS', 'CMNLT']



REG_list = ['R3', 'R2', 'PC', 'LR', 'R0', 'R1', 'SP', '{R4,LR}', '{R4,PC}', '{R4,R11,LR}', 'R11', 'R4', '{R4,R11,PC}',
            '{R11,LR}', '{R11,PC}', '{R0,R1}', '{R3,R4}', '{R4,R11}', '{R0', '{R4', '{R2,R3}', 'R6', 'R5', '{R4,R5}',
            '{R4,R5,R11,LR}', '{R4,R5,R11,PC}', 'R12', 'R7', 'R8', '{R8,R9,LR}', '{R8,R9}', '{R12,LR}', 'R9',
            '{R8,R9,R12,LR}', '{R8,R9,PC}', '{R8', 'R10', '{R3,R12}', '{R7', '{R3,R8,R9,R12}', '{R6,R7}', '{R6', '{R4,R6',
            '{R2,R3,R12}', '{R10,R12}', '{R3', '{R8,LR}', '{R8,PC}', '{R5', '{R5,R6}', '{R1', '{R0,R1,LR}', '{R1,R2,LR}',
            '{R4,R5,LR}', '{R4,R5,PC}', '{R0,LR}', '{R0,PC}', '{R1,LR}', '{R1,PC}', '{R4,R6,R7,LR}', '{R4,R6,R7,PC}',
            '{R2,R12}', '{R4,R8}', '{R8,R10}', '{R1,R2}', '{R2,R5}', '{R0,R12}', '{R3,R10}', '{R1,R3}', '{R0,R2}',
            '{R4,R7}', '{R10,R11}', '{R7,R9}', '{R4,R6,R8}', '{R3,R6}', '{R2,R9}', '{R7,R10}', '{R4,R9}', '{R4,R6}',
            '{R5,R9}', '{R6,R8}', '{R0,R6}', '{R0,R5,R12}', '{R0,R4,LR}', '{R0,R5,R7,LR}', '{R4,R5,R12,LR}', '{R5,R12}',
            '{R7,R8}', '{R9', '{R2,R11}', '{R5,R10}', '{R3,R5}', '{R0,R3}', '{R0,R2,R3}', '{R3,R9}', '{R9,R12}',
            '{R4,R12}', '{R2,R7}', '{R0,R1,R7}', '{R3,LR}', '{R3,R7}', '{R3,R8}', '{R4,R10}', '{R0,R8}', '{R6,R10}',
            '{R6,R11}', '{R6,R9}', '{R3,R11}', '{R1,R4}', '{R0,R4}', '{R0,R7}', '{R2,R4}', '{R9,R11}', '{R6,R12}', '$gp',
            '$t9', '$a0', '$v0', '$ra', '$a1', '$sp', '$v1', '$s3', '$s2', '$s1', '$s0', '$fp', '$a2', '$zero', '$a3',
            '$ac0', '$s5', '$s4', '$s7', '$s6', '$t2', '$t3', '$t0', '$t1', '$t4', '$t5', '$t6', '$t7', '$t8', 'rdi',
            'rbp', 'rax', 'rsp', 'rsi', 'esi', 'eax', 'al', 'rdx', 'edx', 'rcx', 'r8', 'edi', 'xmm0', 'ax', 'ecx', 'cl',
            'rbx', 'r9', 'xmm1', 'xmm2', 'xmm3', 'xmm4', 'xmm5', 'xmm6', 'xmm7', 'dl', 'r8d', 'r9d', 'r12', 'ebx', 'r13',
            'r13d', 'r12d', 'dx', 'r10', 'r11', 'r14', 'dil', 'sil', 'r10d', 'r11d', 'r15', 'ebp', 'r14d', 'r15d', 'bl',
            'r8b', 'r9b', 'ah', 'xmm8', 'xmm9', 'r10b', 'r12b', 'r15b', 'r13b', 'bpl', 'r14b', 'di', 'dh', 'r8w', 'r11b',
            'cx', 'si', 'ch', '{R4,R5,R11}', '{R9,R10}', '{SP,LR}', '{R11,R12}', '{R4,R5,R10,R11,LR}', '{R4,R5,R10,R11,PC}',
            '{R5,R7}', '{R2,R6}', '{R1,R12}', '{R2,LR}', '{R5,R8}', '{R8,R12}', '{R4,R5,R7}', '{R5,R7,R11}', '{R7,R12}',
            '{R0,R3,R12}', '{R1,R8}', '{R0,R5}', '{R1,R5}', '{R0,R9}', '{R0,R1,R3}', '{R4,R7,R8}', '{R0,R10',
            '{R0,R8,R10,R12}', '{R2,R8}', '{R7,R11}', '{R0,R1,R12}', '{R5,LR}', '{R1,R6}', '{R5,R6,R9}', '{R1,R9}',
            '{R5,R11}', '{R0,R2,R8}', '{R1,R10}', '{R1,R8,R11}', '{R10,LR}', '{R6,LR}', '{R1,R2,R8}', '{R5,R10,R12}',
            '{R1,R3,R11}', '{R2,R3,LR}', '{R2,R4,LR}', '{R2', '{R8,R11}', '{R6,R12,LR}', '{R6,R9,R10}', '{R0,R11}',
            '{R8,R10,R11}', '{R3,R7,R9}', '{R3,R4,R8,R10}', '{R2,R10}', '{R4,R5,R9}', '{R1,R6,R10}', '{R0,R12,LR}',
            '{R1,R11}', '{R4,R5,R9,R10}', '$f0', '$f2', '$f12', '$fcc1', '$f20', '$fcc2', '$fcc3', '$fcc4', '$fcc5',
            '$fcc6', '$fcc7', '$f14', '$f4', '$f6', '$f8', '$f10', '$fcc0', '$f22', '$f24', '$f30', '$f28', '$f26',
            '$f16', '$f18', 'st(1)', 'st', 'bx', 'r9w', 'r12w', 'r11w', 'r10w', 'bp', 'r15w', 'r13w', 'st(2)', 'r14w',
            'bh', 'st(4)', 'st(3)', 'xmm10', 'xmm14', 'xmm13', 'xmm12', 'xmm11', 'xmm15', '{R0,R2,R3,R12}', '{R5,R6,R8}',
            '{R4,R5,R12}', '{R6,R8,R9}', '{R3,R6,R7,R12}', '{R2,R5,R9}', '{R0,R7,R9}', '{R3,R7,R8}', '{R7,R8,R10}',
            '{R4,R12,LR}', '{R2,R7,R12}', '{R5,R12,LR}', '{R0,R8,R9}', '{R8,R9,R12}', '{R1,R7}', '{R1,R4,LR}',
            '{R7,R8,R12}', '{R7,R12,LR}', '{R2,R7,R8}', '{R4,R5,R7,R8,LR}', '{R4,R5,R7,R8,PC}', '{R3,R4,LR}', '{R7,LR}',
            '{R0,R10}', '{R2,R6,R9}', '{R3,R6,R9}', '{R9,LR}', '{R4,R6,R7}', '{R2,R4,R6,R8}','{R3,PC}', '{R4-R7,R11,PC}',
            '{R4-R7,R11,LR}', '{R4-R11,LR}', '{R4-R11,PC}', '{R4-R9,R11,LR}', '{R4-R9,R11,PC}', '{R1-R3}', '{R4-R6,R11,LR}',
            '{R4-R6,R11,PC}', '{R4-R8,R11,LR}', '{R4-R8,R11,PC}', '{R0-R3}', '{R4-R8,R11}', '{R4-R6,PC}', '{R4-R6,LR}',
            '{R0-R3,LR}', '{R0-R3,PC}', '{R4-R7,LR}', '{R4-R7,PC}', '{R4-R10,PC}', '{R4-R10,LR}', '{R3-R11,LR}', '{R3-R11,PC}',
            '{R4-R8,PC}', '{R4-R8,LR}', '{R4-R9,LR}', '{R4-R9,PC}', '{R4-R6,R8,R9,LR}', '{R4-R6,R8,R9,PC}', '{R4,R6-R9,LR}',
            '{R4,R6-R9,PC}', '{R4-R8,R10,R11,LR}', '{R4-R8,R10,R11,PC}', '{R6-R8}', '{R1,R10,R11}', '{R0-R2}', '{R2,R7,R12,LR}',
            '{R7-R10}', '{R6,R7,R10}', '{R3,R6,R8}', '{R1,R3,R5}', '{R4-R6,R8-R11,LR}', '{R9-R11}', '{R4-R6,R8-R11,PC}',
            '{R6,R7,R11}', '{R7,R10,R11}', '{R5,R7,R9}', '{R4,R6,R7,R11,LR}', '{R4,R6,R7,R11,PC}', '{R2-R4}', '{R3,R8,R10}',
            '{R3,R10,R11}', '{R4,R6,R7,R10}', '{R4,R8,R9}', '{R5,R7,R8}', '{R1,R2,R7}','rsp', 'rax', 'rbx', 'rdi', 'rsi', 'rdx',
            'eax', 'esi', 'cl', 'sil', 'r8d', 'r8b', 'r9b', 'r12', 'rbp', 'al', 'ebp', 'ecx', 'r13', 'rcx', 'r12d', 'r9d', 'edx', 'edi', '',
            'r8', 'r15', 'r14', 'r10d', 'r13b', 'r10', 'r13d', 'dl', 'r15d', 'r9', 'ebx', 'ax', 'r11', 'r14d', 'r14b', 'r12b', 'r11d', 'bp',
            'r15b', 'dx', 'ah', 'cx', 'r11b', 'r11w', 'xmm0', 'bpl', 'dil', 'xmm1', 'xmm2', 'xmm3', 'xmm4', 'xmm5', 'xmm6', 'xmm7', 'si', 'bl',
            'bh', 'r10b', 'r8w', 'r10w', 'r9w', 'di', 'r13w', 'r14w', 'r12w', 'bx', 'ch', 'dh', 'xmm9', 'xmm8', 'xmm11', 'xmm10', '{R3,LR}', '{R3,PC}',
            'R12', 'PC', 'R3', 'R2', 'R1', 'R0', 'LR', '{R4-R6,LR}', 'SP', 'R4', 'R6', 'R5', '{R4-R6,PC}', '{R4-R9,LR}', 'R7', 'R8', 'R9', '{R4-R9,PC}',
            '{R4,LR}', '{R4,PC}', '{LR}', '{PC}', '{R4,R5,LR}', '{R4,R5,PC}', '{R4-R10,LR}', 'R10', '{R4-R10,PC}', '{R4-R7,LR}', '{R4-R7,PC}', '{R4-R11,LR}',
            'R11', '{R4-R11,PC}', '{R4-R8,LR}', '{R6,R7}', '{R4-R8,PC}', '{R2,R3}', '{R1,R3}', '{R2,R12}', '{R1-R3}', '{R3-R11,LR}', '{R3-R11,PC}', '{R3,R6}',
            '{R0,R1}', '{R1,R12,LR}', '{R0,R12,LR}', '{R0-R3}', '{R4-R6}', '{R0,R1,R3}', '{R7,R8}', '{R0,R6}', '{R3,R8}', '{R5,R6}', '{R8,R9}', '{R9,R10}', '{R8,R10}',
            '{R0,R1,R4}', '{R8-R10}', '{R3,R9}', '{R3,R7}', '{R2,R7}', '{R1,R2}', '{R3,R5}', '{R2,R4}', '{R0,R10}', '{R1,R5}', '{R3,R12}', '{R4,R5}', '{R7,R10}', '{R9,R12}', '{R3,R5,R7}',
            '{R5,R9}', '{R8,R11}', '{R2,R6}', '{R0,R2}', '{R1,R6}', '{R2,R6,R9}', '{R2,R9}', '{R3,R6,R9}', '{R1,R9}', '{R2,R8}', '{R5,R8}', '{R3,R4}', '{R0,R1,R5}', '{R0,R3}',
            '{R7,R9}', '{R9-R11}', '{R4,R6,R7,LR}', '{R4,R6,R7,PC}', '{R10,R11}', '{R1,R12}', '{R0,R8}', '{R1,R10}', '{R2,R10}', '{R12,LR}', '{R4-R6,R8,R9,LR}',
            '{R4-R6,R8,R9,PC}', '{R4,R8}', '{R6,R8}', '{R1,LR}', '{R0,R12}', '{R0-R2}', '{R3,R11}', '{R2,R11}', '{R0,R5}', '{R0,R2,R3}', '{R3,R7,R8}', '{R2,R3,R12}', '{R7-R9}', '{R0,R4}',
            '{R6-R8,R10}', '{R3,R12,LR}', '{R6-R8,R11}', '{R5,LR}', '{R2,R5,LR}', '{R4,R6}', '{R6,R9-R11}', '{R4,R7,R8}', '{R0,R9}', '{R1,R8}', '{R5,R7}', '{R1,R2,R5}', '{R6,R9}', '{R6,R11}',
            '{R4,R8,R11}', '{R6,R10}', '{R3,R4,R7}', '{R7-R9,R12}', '{R4,R12}', '{R2,LR}', '{R2,R5}', '{R6-R8}', '{R4,R6,R7}', '{R0,R6,R9}', '{R5,R12}', '{R8,R12}', '{R4,R10}', '{R6,LR}', '{R3}',
            '{R5-R7}', '{R0,R7}', '{R0,R1,LR}', '{R1,R2,LR}', '{R12}', '{R0}', '{R0,LR}', '{R0,PC}', '{R1,PC}', '{R11}', '{R11,LR}', '{R11,PC}', '{R4,R11,LR}', '{R4,R11,PC}', '{R4,R5,R11,LR}',
            '{R4,R5,R11,PC}', '{R4-R6,R11,LR}', '{R4-R6,R11,PC}', '{R4-R7,R11,LR}', '{R4-R7,R11,PC}', '{R4-R8,R11}', '{R4-R6,R11}', '{R4-R9,R11,LR}', '{R4-R9,R11,PC}',
            '{R4,R11}', '{R4-R8,R11,LR}', '{R4-R8,R11,PC}', 'r15w', '{R1,R4}', '{R5,R11}', '{R6,R12}', '{R2,R8,R10}', '{R5,R10}', '{R7,R11}', '{R9,R11}',
            '{R0,R1,R12}', '{R7,LR}', '{R4,R5,R11}', '{R4,R7}', '{R4,R9}', '{R2,R6,R8}', '{R9,LR}', '{R3,R10}', '{R3-R6}', '{R4,R5,R10}',
            '{R6,R12,LR}', '{R0,R11}', '{R4,R6-R9,R11,LR}', '{R4,R6-R9,R11,PC}', '{R4-R7,R9-R11,LR}', '{R4-R7,R9-R11,PC}', '{R4,R6-R11,LR}',
            '{R4,R6-R11,PC}', '{R4-R7}', '{R5,R8,R9}', '{R4,R6,R10}', '{R6,R10,R11}', '{R4,R6,LR}', '{R1,R2,R5,LR}',
            '{R1,R2,R4}', '{R0,R2,R5}', '{R4-R9}', '{R1,R10,R12,LR}', '{R1,R10,R12}', '{R4,R5,R8}', '{R4,R7-R9}',
            '{R6,R7,R12}', '{R2-R5}', '{R6-R9}', 'notice', '{R3,R6,R7}', '{R10-R12,LR}']

IMM_list = ['immval']
MEM_list = ['dispbss', 'near', '[R3+R2]', '[R3+offset]', '[R2+R3]', '[PC+R3]', '[R11+offset]', '[R4+R3]', '[SP+offset]',
            '[R2+offset]', '[R3+R1]', '[R6+R3]', '[R1+R3]', '[R4+R2]', '[R2+R1]', '[R1+R0]', '[R3+R0]', '[R0+R1]',
            '[R3+R12]', '[R1+R2]', '[R4+offset]', '[R2+R5]', '[R2+R0]', '[R1+offset]', '[R5+offset]', '[R5+R3]',
            '[R0+offset]', '[R4+R5]', '[R4+R12]', '[R12+offset]', '[LR+offset]', '[R10+R11]', '[R10+R12]', '[R4+R0]',
            '[R12+R0]', '[R0+R3]', '[R0+R12]', '[R6+R2]', '[R11+R7]', '[R1]+R8', '[R4+R7]', '[R4+R11]', '[R7+R3]',
            '[R3+R10]', '[R12+R2]', '[R3+R5]', '[R7+offset]', '[R8+R3]', '[R3+LR]', '[R6+offset]', '[R7+R4]',
            '[R8+offset]', '[R5+R4]', '[R9+offset]', '[R12+R4]', '[R7+R6]', '[R10+R0]', '[LR+R5]', '[R5+R7]', '[R8+R0]',
            '[R11+R3]', '[R9+R0]', '[R5+R0]', '[R8+R9]', '[R7+R2]', '[R8+R2]', '[R7+R1]', '[R8+LR]', '[R2+R4]', '[R0+R2]',
            '[R7+R5]', '[R7+R10]', '[R5+R1]', '[R0+R10]', '[R9+R3]', '[R10+offset]', '[R1+R12]', '[R8+R4]', '[R10+R3]',
            '[R8+R5]', '[R8+R10]', '[R10+R8]', '[R10+R6]', '[R6+R5]', '[R6+R4]', '[R6+R0]', '[R0+R4]', '[R5+R2]',
            '[R3+R8]', '[R3+R4]', '[LR+R4]', '[R10+R4]', '[R10+R9]', '[R10+R2]', '[R9+R6]', '[LR+R12]', '[LR+R3]',
            '[R3+R6]', '[R10+R5]', '[R11+R6]', '[R12+R1]', '[LR+R0]', '[R3+R9]', '[R7+R9]', '[R7+R0]', '[R1+R5]',
            '[R11+R4]', '[R5+R6]', '[R6+R1]', '[R4+LR]', '[R5+LR]', '[R10+R7]', '[R10+LR]', '[R1+R4]', '[R5+R9]',
            '[R9+R2]', '[R12+R8]', '[R9]+R10', '[R11+R0]', '[R9+R4]', '[R10+R1]', '[R1+LR]', '[R9+R5]', '[R12+R5]',
            '[R12+R3]', '[R0+R5]', '[R0+R6]', '[R6+R7]', '[R11+R8]', '[R2+R12]', '[R2+LR]', '[R0+LR]', '[R4+R8]',
            '[R4+R6]', '[R8+R6]', '[R8+R7]', '[R1+R6]', '[R6+R8]', '[R1+R7]', '[R3+R7]', '[R1+R8]', '[R0+R8]', '[R4+R9]',
            '[R2+R10]', '[R9+R10]', '[R5+R12]', '[R5+R8]', '[R1+R9]', '[R2+R8]', '[R11+R2]', '[R7+R11]', '[R9+LR]',
            '[R5+R10]', '[R6+R10]', '[R2+R7]', '[R7+R8]', '[R11+R9]', '[R11+R10]', '[R4+R1]', '[R11+R5]', '[R12+LR]',
            '[R12+R7]', '[R8+R1]', '[R6+R9]', '[R6+R11]', '[LR+R2]', '[R9+R7]', '[R2+R9]', '[R12+R6]', '[R2+R6]',
            '[R8+R11]', '[R5+R11]', '[R3+R11]', '[R0+R11]', '[R12+R11]', '[R6+R12]', '[R9+R8]', '[R11+LR]', '[R7+R12]',
            '[R12+R9]', '[R12+R10]', '[R1+R10]', '[R2+R11]', '[R1]+R6', '[R0+R7]', '[R9+R12]', '[R0]+R9', '[R8+R12]',
            '[R4]+R11', '[R9]+R11', '[R9+R1]', '[LR+R10]', '[R4+R10]', '[LR+R7]', '[LR+R1]', '[R6+LR]', '[R9+R11]',
            '[R11+R1]', '[R11+R12]', '[R1]+R10', '[LR+R6]', 'offset+($sp)', 'offset+($v0)', 'offset+($s0)', '$v1($s3)',
            'offset+($s1)', 'offset+($fp)', 'offset+($v1)', 'offset+($a0)', 'offset+($a2)', 'offset+($a1)', 'offset+($s6)',
            'offset+($t0)', 'offset+($t1)', 'offset+($s2)', 'offset+($a3)', 'offset+($s7)', 'offset+($s4)', 'offset+($s3)',
            'offset+($t4)', 'offset+($t5)', 'offset+($s5)', 'offset+($t3)', 'offset+($t2)', 'offset+($t7)', 'offset+($t6)',
            'offset+($t9)', 'offset+($t8)', '[rbp+offset]', '[rax]', '[rax+offset]', '[rdx]', '[rdx+rax]', '[rdx+offset]',
            '[rcx+rax]', '[rcx+rdx]', '[rax+rdx]', '[rax+rax]', '[rax+rcx]', '[rax+rsi]', '[rbx]', '[rcx+offset]', '[rdx+rbx]',
            '[rdx+rcx]', '[rcx]', '[rsi]', '[rbx+r12]', '[rsi+rcx]', '[rdi+rcx]', '[rdi+offset]', '[rsi+offset]', '[rcx+r8]',
            '[rdx+r8]', '[rsi+r8]', '[rdi]', '[rsi+r11]', '[rdi+r11]', '[rsi+rbx]', '[rdi+rbx]', '[rsp+offset]', '[rsi+r9]',
            '[rdx+r9]', '[rdi+r9]', '[r8+offset]', '[r8]', '[r8+r9]', '[rdi+r10]', '[rsi+r10]', '[rdx+r10]', '[r8+rcx]',
            '[rdi+rdx]', '[rdx+rdx]', '[rdi+r8]', '[r8+rbp]', '[r12+offset]', '[r12]', '[r9+rdx]', '[rdi+rsi]', '[rcx+rcx]',
            '[r11+rsi]', '[r10+rbp]', '[rbx+rbp]', '[rbx+offset]', '[r13+offset]', '[r8+r14]', '[rdx+r12]', '[r14+offset]',
            '[r8+rbx]', '[rdx+rdi]', '[rsi+rax]', '[rsi+rdx]', '[r9]', '[r9+offset]', '[rsi+r13]', '[rdi+r13]', '[r14]',
            '[r9+r8]', '[rbx+rcx]', '[r11+r8]', '[rbx+r11]', '[r11+offset]', '[r11+rcx]', '[r11+rbp]', '[rdi+rbp]', '[r12+rcx]',
            '[r12+r14]', '[rsi+r14]', '[r8+rax]', '[r8+r10]', '[r10+r11]', '[r8+r11]', '[r9+r10]', '[rdi+rax]', '[r10+rdx]',
            '[r11+rdi]', '[rdi+rdi]', '[rbx+rax]', '[rbx+r13]', '[r12+r15]', '[r11+rax]', '[r15+offset]', '[rbx+rdx]',
            '[rax+r13]', '[r12+rax]', '[r14+r13]', '[r14+rax]', '[r10+offset]', '[rax+r14]', '[rbx+rdi]', '[r15+rsi]',
            '[r10+rdi]', '[r8+rsi]', '[rcx+r9]', '[r14+r12]', '[rdi+r12]', '[r15+rbx]', '[rcx+rbx]', '[r15+rdx]', '[rax+rbx]',
            '[rax+rdi]', '[rbx+r15]', '[r15+rax]', '[r12+rdi]', '[r15]', '[r15+r12]', '[rcx+r12]', '[rax+r12]', '[r12+rbx]',
            '[rbx+rbx]', '[r8+rdx]', '[r14+r15]', '[r14+rbx]', '[r12+r13]', '[r10]', '[r10+rax]', '[r12+rbp]', '[r12+rdx]',
            '[r14+rdx]', '[r14+rsi]', '[rax+rbp]', '[r9+rax]', '[r10+r9]', '[r9+r9]', '[r15+r10]', '[rdx+rbp]', '[rcx+r13]',
            '[r15+r9]', '[r8+r8]', '[r15+r8]', '[r11+rbx]', '[rbx+r14]', '[rsi+rsi]', '[r15+rcx]', '[r15+r13]', '[rax+r15]',
            '[r15+r15]', '[r10+r8]', '[r9+rbx]', '[rsi+r12]', '[rsi+rbp]', '[rdx+r15]', '[rcx+r14]', '[r15+r14]', '[r12+r12]',
            '[rbx+rsi]', '[r14+r14]', '[rax+r8]', '[rsi+r15]', '[rcx+r15]', '[r15+rbp]', '[rdx+r13]', '[rcx+rbp]', '[rsi+rdi]',
            '[r14+rcx]', '[r12+r9]', '[r11]', '[r15+rdi]', '[r12+r8]', '[rcx+rdi]', '[r14+r8]', '[rdi+r14]', '[rdi+r15]',
            '[r14+rbp]', '[rax+r9]', '[r8+r15]', '[rcx+rsi]', '[rdx+r14]', '[rdx+rsi]', '[rax+r10]', '[rcx+r10]', '[r12+rsi]',
            '[r10+r13]', '[r14+rdi]', '[r11+r14]', '[rbx+r10]', '[r9+r15]', '[r10+r10]', '[r9+r12]', '[r9+rsi]', '[r11+rdx]',
            '[r8+r12]', '[rbx+r9]', '[r10+r12]', '[r10+rbx]', '[rcx+r11]', '[r9+rbp]', '[rax+r11]', '[r12+r11]', '[r11+r10]',
            '[r10+rsi]', '[rbx+r8]', '[r14+r9]', '[r11+r15]', '[r8+rdi]', '[r12+r10]', '[r9+r13]', '[r10+r14]', '[r15+r11]',
            '[r8+r13]', '[r9+r14]', '[r10+rcx]', '[r10+r15]', '[r11+r9]', '[r14+r11]', '[r11+r11]', '[r9+rdi]', '[r9+rcx]',
            '[r11+r13]', '[r14+r10]', '[r11+r12]', '[r9+r11]', '[rdx+r11]', '[R5]+R6', '[R0]+R1', '[R3]+R0', '[R0+R9]',
            '[R6]+R3', '[R3]+R1', '[R3]+LR', '[LR+R9]', '[R3]+R6', '[R7+LR]', '[R4]+LR', '[R2]+R3', '[R1+R11]', '[LR+R8]',
            '[R12]+R1', 'offset+($zero)', 'offset+($ra)', '[rsp+var_s0]', '[PC+R1]', '[LR+R11]','dispbss', 'near', '[rdi+offset]',
            '[rbx+offset]', '[rdi]', '[rdx]', '[rcx+offset]', '[rdx+offset]', '[rsi+offset]', '[r9+offset]', '[rax+offset]', '[rax]', '[rdx+rsi]', '[rsi+rcx]', '[rbx]', '', '[rbp+offset]', '[rsp+offset]', '[r13+offset]', '[r14+offset]', '[r10+r10]', '[rax+r14]', '[r14]', '[rdx+rax]', '[r12+offset]', '[r12]', '[rcx]', '[rsi+rsi]', '[rax+rbp]', '[rsi]', '[rdx+r11]', '[r10+offset]', '[r8+offset]', '[r8+rax]', '[r9]', '[rdi+rax]', '[rcx+r8]', '[rax+rax]', '[rax+rbx]', '[r12+rax]', '[rsi+rdx]', '[rbx+rax]', '[r15+offset]', '[r15]', '[rdi+rsi]',
            '[r12+rdx]', '[rsi+rax]', '[rdx+rdi]', '[rbx+rdx]', '[r14+rax]', '[rcx+rcx]', '[r12+r12]', '[rax+rdx]', '[rcx+rdx]', '[r8+rdx]', '[rbx+rbx]', '[rdx+rdx]', '[rcx+rax]', '[r8+rcx]', '[rdi+r9]', '[rdi+rdx]', '[r15+rax]', '[r15+rbx]', '[rax+rdi]', '[rax+rcx]', '[rdx+rcx]', '[r15+rsi]', '[r15+r13]', '[r15+r12]', '[r12+r14]', '[r12+rsi]', '[rbx+r15]', '[rbx+r12]', '[r14+rdx]', '[r10]', '[r10+rdx]', '[r12+rdi]', '[rcx+rbx]', '[rbx+r13]', '[r11]', '[r11+offset]', '[r11+rax]', '[r9+rsi]', '[r8+r9]', '[r15+rdx]', '[r14+rbp]', '[r8]', '[rbx+rbp]', '[rax+r12]', '[r8+r8]', '[rdi+r8]', '[r12+rcx]', '[rax+rsi]', '[r8+rdi]', '[rdi+rcx]', '[rcx+rsi]', '[rdi+rdi]', '[rax+r15]', '[rsi+r9]', '[rsi+r13]', '[r11+rdx]', '[r9+r15]', '[r12+r9]', '[r12+rbp]', '[rbx+r14]', '[rbx+rdi]', '[rbx+rcx]', '[rbx+r8]', '[r8+r13]', '[r9+rax]', '[r10+rax]', '[rcx+r13]', '[r10+rdi]', '[r14+rbx]', '[r12+rbx]',
            '[r14+r14]', '[rdx+r14]', '[rdi+r15]', '[r14+r12]', '[r14+r8]', '[r15+rbp]', '[r9+rdi]', '[rdi+rbx]', '[rax+r13]', '[rdx+r8]', '[rdx+r13]', '[rax+r8]', '[r12+r13]', '[rcx+rbp]', '[rdx+rbp]', '[rdx+rbx]', '[r9+r13]', '[rax+r9]', '[rdi+r12]', '[r15+r15]', '[r9+r9]', '[r14+rdi]', '[r14+rsi]', '[r14+r15]', '[r12+r11]', '[r15+r14]', '[r14+r13]', '[rsi+rbp]', '[r10+rsi]', '[rcx+rdi]', '[rsi+rdi]', '[r15+r8]', '[rsi+rbx]', '[rsi+r15]', '[rcx+r14]', '[rsi+r14]', '[r9+r8]', '[r10+r8]', '[rdx+r9]', '[r14+rcx]', '[rcx+r15]', '[r15+rcx]', '[rsi+r8]', '[rdi+r13]', '[r12+r15]', '[rbx+rsi]', '[r10+r9]', '[rdi+rbp]', '[rax+r11]', '[r8+r12]', '[r8+r15]', '[rdx+r12]', '[rdi+r14]', '[r9+r14]', '[rcx+r9]', '[r11+r11]', '[r10+rcx]', '[rax+r10]', '[r14+r9]', '[r14+r10]',
            '[r9+rdx]', '[r11+rcx]', '[r8+rsi]', '[R12+offset]', '[R0+offset]', '[R3+offset]', '[R4+offset]', '[R1+offset]', '[SP+offset]', '[R2+R0]', '[R7+R3]', '[R2+offset]', '[R9+R2]', '[R9+R3]', '[R3+R2]', '[R2+R3]', '[PC+R3]', '[R5+offset]', '[R12+LR]', '[R5+R3]', '[R10+offset]', '[R11+offset]', '[LR+offset]', '[R6+offset]', '[R3+R4]', '[R8+offset]', '[R7+offset]', '[R0+R2]', '[R6+R3]', '[R9+offset]', '[R6+R1]', '[R6+R0]', '[R4+R2]', '[R10+R11]', '[R4+R3]', '[R12+R2]', '[R0+R9]', '[R12+R4]', '[R3+R12]', '[R7+R12]', '[R7+R2]',
            '[R2+R12]', '[R3+R0]', '[R11+R3]', '[R9+R12]', '[R0+R3]', '[LR+R3]', '[R8+R3]', '[R5+R0]', '[R12+R0]', '[R1+R3]', '[R10+R3]', '[R7+R4]', '[R10+R2]', '[R12+R3]', '[R1+R2]', '[R2+R1]', '[R7+R6]', '[R11+R2]', '[R3+R5]',
            '[R8+R6]', '[R6+R2]', '[R10+R5]', '[R10+LR]', '[R11+R4]', '[R5+R2]', '[R2+R4]', '[R5+R1]', '[R0+R1]', '[R9+R5]', '[R10+R1]', '[R1+R0]', '[R9+R6]', '[R7+R1]', '[R7+R5]', '[R8+R5]', '[R7+R8]', '[R8+R1]', '[R2+LR]', '[R9+LR]', '[R3+LR]', '[R3+R6]', '[R8+R2]', '[R8+R0]', '[R8+R9]', '[R1+LR]', '[R3+R8]', '[R3+R1]', '[R6+R5]', '[R5+R12]', '[R4+R7]', '[R4+R0]', '[R8+R4]', '[R0+R4]', '[R3+R7]', '[R2+R6]', '[PC+R12]', '[LR+R4]', '[LR+R0]', '[LR+R1]', '[R12+R1]', '[LR+R5]', '[LR+R2]', '[R4+R5]', '[R4+R9]', '[R3+R9]', '[R4+LR]', '[R4+R1]', '[R12+R9]', '[R2+R10]', '[R3+R10]', '[R6+R12]', '[R4+R12]', '[R6+LR]', '[R1+R5]', '[R6+R4]', '[R5+R4]', '[R10+R8]', '[R11+R7]', '[R6+R9]', '[R7+R11]', '[R2+R9]', '[R0+R10]', '[R10+R4]', '[R9+R1]', '[R9+R10]', '[R1+R8]', '[R1+R4]', '[R9+R4]', '[R2+R5]', '[R0+R5]', '[R5+R6]', '[R1+R10]', '[R4+R6]', '[LR+R12]', '[R1+R12]', '[R1+R6]', '[R2+R11]', '[R2+R8]', '[R2+R7]', '[R0+R12]', '[R11+R1]', '[R5+R8]', '[R8+R10]', '[LR+R8]', '[R12+R6]', '[R11+R10]', '[R12+R8]', '[R12+R5]', '[R12+R7]', '[R3+R11]', '[R0+R11]', '[R1+R7]', '[R6+R11]', '[R0+LR]', '[R7+R10]', '[R8+R12]', '[R8+R11]', '[R5+LR]', '[R7+R9]', '[R0+R8]', '[R11+LR]', '[R8+LR]', '[R0+R6]', '[R0+R7]', '[R7+LR]', '[R6+R8]',
            '[R1+R9]', '[R5+R7]', '[R8+R7]', '[R7+R0]', '[R9+R0]', '[R10+R0]', '[r11+rsi]', '[rcx+r12]', '[rdx+r15]', '[r9+r10]', '[r9+rcx]', '[r8+rbx]', '[rdx+r10]', '[r15+r10]', '[r11+r8]', '[rsi+r12]', '[r15+rdi]', '[r11+r14]', '[R4+R8]', '[R11+R9]', '[R11+R8]', '[R9+R8]', '[R10+R6]', '[R10+R12]', '[R11+R0]', '[R11+R6]', '[R5+R10]', '[R6+R7]', '[R5+R9]', '[R10+R7]', '[R10+R9]', '[R9+R7]', '[R11+R12]', '[R4+R10]', '[R1+R11]', '[R9+R11]',
            '[R3]+R9', '[R5]+R9', '[R1]+LR', '[R2]+R12', '[R10]+R9', '[R3]+R10', '[R7]+R8', '[R6]+R9', '[R9]+R6', '[R10]+R6', '[R11]+R6', '[R4]+R6', '[R8]+R5', '[R3]+R5', '[R6]+R4', '[R9]+R5', '[R10]+R4', '[R7]+R5', '[R3]+R2', '[R7]+R10', '[R3]+R4', '[R8]+R11', '[R6]+R11', '[R11]+R8', '[R6]+R8', '[R5]+R8', '[R4]+R8', '[LR]+R8', '[R11]+R5', '[R6]+R5', '[R12]+R5', '[R9]+R7', '[R4]+R7', '[R8]+R7', '[R3]+R11', '[R11]+R7', '[R5]+R7', '[R10]+R7', '[R12]+R7', '[R3]+R8', '[R8]+R10', '[R6]+R10', '[R5]+R10', '[R9]+R4', '[R7]+R11', '[R10]+R11', '[R8]+R4', '[R10]+R5', '[R1]+R12', '[R4]+R10', '[R11]+R10', '[R4]+R5', '[R4]+R9', '[LR]+R9', '[R5]+R11', '[R7]+R9', '[R10]+R8', '[R0]+R8', '[R12]+R8', '[LR]+R10', '[R11]+R4', '[R7]+R4', '[LR]+R4', '[R3]+R7', '[R9]+R8', '[R0]+R5', '[R1]+R2', '[R2]+R4', '[R3]+R12', '[R1]+R5', '[R2]+R5', '[R1]+R4', '[R4]+R1', '[R6]+R7', '[R2]+R0', '[R2]+LR', '[R12]+R4', '[R12]+R2', '[R8]+R2', '[R4]+R2', '[R2]+R11', '[R12]+R11', '[LR]+R11', '[R11]+R3', '[R0]+R11', '[R8]+R9', '[R11]+R9', '[R12]+R10', '[R2]+R6', '[R1]+R9', '[LR]+R5', '[R0]+R7', '[R0]+LR', '[LR]+R2', '[R0]+R4', '[R1]+R0', '[R6]+R2', '[R7]+R3', '[R4]+R3', '[R12]+R6', '[LR]+R7', '[LR]+R6',
]